package com.qfedu.edu.messagecenterserver.mqtt;

import com.alibaba.fastjson2.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.MessageHandler;

/**
 * 接收Mqtt服务器数据
 */
@Configuration
@Slf4j
public class MqttReceiveHandler {


    /**
     * 此处用于接收 MQTT 发送过来的数据
     * +（加号）：可以（只能）匹配一个单词
     * #（井号）：可以匹配多个单词（或者零个）
     *
     * @return MessageHandler
     */
    @Bean
    @ServiceActivator(inputChannel = "mqttInputChannel")
    public MessageHandler handlerValue() {
        return message -> {
            log.info("接受到来自硬件的消息:{}", JSON.toJSONString(message));
        };
    }
}
